iT邦幫忙

2024 iThome 鐵人賽

DAY 20
0
Python

Python和R入門語法比較系列 第 20

10 [R] r的dataframe欄列選擇方式 [16th 鐵人 Day 20]

  • 分享至 

  • xImage
  •  

點我下載:song_rank2.csv

讀檔

setwd('/Users/carplee/Desktop/IT python')
r = read.csv('data/song_rank2.csv')
r

https://ithelp.ithome.com.tw/upload/images/20240911/20162398KG4UCznHpF.png

dataframe[,]

第1筆

r[1,]
  Rank  Hits      Song Co      Artist       Date
1    1 98318 青空未來  否 五月天 阿信 2021-07-28
                                                                   Url
1 https://www.kkbox.com/tw/tc/song/d6L00KOUN.rUv3ePUv3eP0XL-index.html

第1筆, 第2筆

v=c(1,2)
r[v,] #vector
r[1:2,] #slice
  Rank  Hits      Song Co         Artist       Date
1    1 98318 青空未來  否    五月天 阿信 2021-07-28
2    2 74629     勇氣  是 魏嘉瑩, 魏如昀 2021-07-27
                                                                   Url
1 https://www.kkbox.com/tw/tc/song/d6L00KOUN.rUv3ePUv3eP0XL-index.html
2 https://www.kkbox.com/tw/tc/song/PLQ004POLLr78J1P78J1P0XL-index.html

Artist欄

r[,'Artist']
 [1] "五月天 阿信"       "魏嘉瑩, 魏如昀"    "陳芳語 , 茄子蛋"  
 [4] "蕭敬騰, 馬佳"      "吳汶芳 "           "琳誼 Ring, 許富凱"
 [7] "張語噥 "           "Ray 黃霆睿"        "飛兒樂團 "        
[10] "摩登兄弟劉宇寧"    "五月天 阿信"       "五月天 阿信"      
[13] "魏嘉瑩, 魏如昀"    "陳芳語 , 茄子蛋" 

Artist欄位的第1筆, 第2筆

r[1:2,'Artist']
[1] "五月天 阿信"    "魏嘉瑩, 魏如昀"

用r[,] 的方式新增欄位 r[, 'column']=value

r[, 'Artist2']=0
r

https://ithelp.ithome.com.tw/upload/images/20240911/201623981sfrMypXjX.png

新增art1, art2欄位

install.packages('dplyr') # 下載'dplyr'套件

# install.packages('dplyr') # 下載'dplyr'套件
library(dplyr)
library(stringr)
art1 = str_split_fixed(r$Artist, patter=',', 2)[,1] %>% str_trim()
art2 = str_split_fixed(r$Artist, patter=',', 2)[,2] %>% str_trim()

https://ithelp.ithome.com.tw/upload/images/20240911/20162398bkoCxdUnNj.png

r[, 'art1']=art1
r

https://ithelp.ithome.com.tw/upload/images/20240911/20162398uoHkJrpVOl.png

r[, 'art2']=art2
r

https://ithelp.ithome.com.tw/upload/images/20240911/20162398P5goijKS5v.png

用欄名 調換欄位[ c() ]

colnames(r)
# [1] "Rank"    "Hits"    "Song"    "Co"      "art1"    "art2"   
# [7] "Artist2" "Date"    "Url"
new_l = c("Rank","Hits","Song","Co","art1", "art2", "Artist","Date","Url","Artist2")
r = r[,new_l]
r

https://ithelp.ithome.com.tw/upload/images/20240911/20162398yZzvnGblmA.png

write.csv(r, 'data/song_rank3.csv', fileEncoding='utf-8',row.names = FALSE)

內容預告:

10 [R] r的dataframe欄列選擇方式

11 取得欄位位置

12 布林值和表格條件選取

13 畫長條圖統計

14 [Python] for迴圈 和 matplotlib.pyplot 畫線圖

14 [R]for迴圈 和 ggplot 畫線圖

15 for 迴圈 和 html網頁資料解析 迴圈 和 html網頁資料解析


上一篇
10 [python] pandas的欄列選擇工具 dataframe.loc[ ]和.iloc[ ] [16th 鐵人 Day 19]
下一篇
11 [python] 取得欄位位置 [16th 鐵人 Day 21]
系列文
Python和R入門語法比較30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言